home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_d / ssbc15.zip / DEMOFRM.PAS < prev    next >
Pascal/Delphi Source File  |  1996-04-15  |  3KB  |  118 lines

  1. unit Demofrm;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, Buttons, Spin, Ssbc, ExtCtrls, Printers;
  8.  
  9. type
  10.   TfmDemo = class(TForm)
  11.     ssBarCode: TssBarCode;
  12.     Panel: TPanel;
  13.     Label1: TLabel;
  14.     Label2: TLabel;
  15.     Label3: TLabel;
  16.     Label4: TLabel;
  17.     cbType: TComboBox;
  18.     ckBearer: TCheckBox;
  19.     ckReadable: TCheckBox;
  20.     cbOrientation: TComboBox;
  21.     edData: TEdit;
  22.     btUpdate: TBitBtn;
  23.     btClose: TBitBtn;
  24.     Panel1: TPanel;
  25.     edWidth: TEdit;
  26.     Label5: TLabel;
  27.     btPrint: TBitBtn;
  28.     procedure btUpdateClick(Sender: TObject);
  29.     procedure FormCreate(Sender: TObject);
  30.     procedure ckBearerClick(Sender: TObject);
  31.     procedure ckReadableClick(Sender: TObject);
  32.     procedure FormResize(Sender: TObject);
  33.     procedure btPrintClick(Sender: TObject);
  34.   private
  35.     procedure RepositionCode;
  36.   public
  37.   end;
  38.  
  39. var
  40.   fmDemo: TfmDemo;
  41.  
  42. implementation
  43.  
  44. {$R *.DFM}
  45.  
  46. procedure TfmDemo.btUpdateClick(Sender: TObject);
  47. begin
  48.   with ssBarCode do
  49.   begin
  50.     Data := edData.Text;
  51.     BarWidth := StrToFloat(edWidth.Text);
  52.     case cbType.ItemIndex of
  53.       0 : BarCodeType := bcCode39;
  54.       1 : BarCodeType := bcInt2of5;
  55.       2 : BarCodeType := bcPostnet;
  56.       3 : BarCodeType := bcUPC_A;
  57.     end;
  58.     case cbOrientation.ItemIndex of
  59.       0 : Orientation := orLeft_Right;
  60.       1 : Orientation := orRight_Left;
  61.       2 : Orientation := orTop_Bottom;
  62.       3 : Orientation := orBottom_Top;
  63.     end;
  64.     ckBearer.Checked := BearerBars;
  65.   end;
  66.   RepositionCode;
  67. end;
  68.  
  69. procedure TfmDemo.FormCreate(Sender: TObject);
  70. begin
  71.   cbType.ItemIndex := 0;
  72.   cbOrientation.ItemIndex := 0;
  73.   RepositionCode;
  74. end;
  75.  
  76. procedure TfmDemo.ckBearerClick(Sender: TObject);
  77. begin
  78.   try
  79.     ssBarCode.BearerBars := ckBearer.Checked;
  80.   finally
  81.     ckBearer.Checked := ssBarCode.BearerBars;
  82.   end;
  83. end;
  84.  
  85. procedure TfmDemo.ckReadableClick(Sender: TObject);
  86. begin
  87.   ssBarCode.PrintHumanReadable := ckReadable.Checked;
  88. end;
  89.  
  90. procedure TfmDemo.RepositionCode;
  91.  
  92. begin
  93.   ssBarCode.Left := (fmDemo.Width - ssBarCode.Width) div 2;
  94.   ssBarCode.Top := ((fmDemo.Height-Panel.Height) - ssBarCode.Height) div 2;
  95. end;
  96.  
  97. procedure TfmDemo.FormResize(Sender: TObject);
  98. begin
  99.   RepositionCode;
  100. end;
  101.  
  102. procedure TfmDemo.btPrintClick(Sender: TObject);
  103. begin
  104.   with Printer do
  105.   begin
  106.     Canvas.Font.Name := 'Courier New';
  107.     BeginDoc;
  108.     { It's this easy to print your barcode!  Specify the X and Y positions in inches.
  109.       The third parameter is the height in inches.  If you specify 0 (zero), ssBarcode will
  110.       calculate the standard height-to-width ratio for this code }
  111.  
  112.     ssBarCode.PrintBarcode(1.0,1.0,0);
  113.     EndDoc;
  114.   end;
  115. end;
  116.  
  117. end.
  118.